A network file system (NFS) provides remote access to files in a file system. Thus, an NFS may allow a remote client to have what appears to be local access to files that do not reside at the client. The remote client may interact with a server (e.g., file server) that provides the NFS. Instead of physically copying files from a server to a client, an NFS may make the server-based files appear local to the remote client. To provide this network access, an NFS may interact with a number of standard and/or proprietary computing elements. For example, an NFS may interact with a standards-based network file system protocol. An NFS may be a client/server application that lets network users access shared files stored on different computers. The NFS may provide a file handle that encodes information concerning the actual physical location of the filesystem object for which the NFS is providing remote access.
An example standards-based NFS is the NFS developed by Sun Mircrosystems in the eighties and refined several times since. This NFS is a client/server model that implements a protocol for transparently providing clients remote access to shared files residing on a server. This NFS enables clients to use the files residing on the server as if they were residing on a locally mounted file system. Files are identified using file handles that store information that an NFS server uses to identify a file. A client that wishes to use a set of remote files located in a remote directly may mount the directory using, for example, a mount daemon (e.g., mountd) on the server. If the mount is authorized and completed, the client receives a root file handle. This file handle can be presented to an NFS daemon (e.g., nfsd) to access the remote objects in the export point. Some NFS implementations may incorporate the mounting process into the NFS server directly, and thus not require a separate mount daemon.
A virtual file system (VFS) is an abstraction layer that allows clients to access a file system in a standards-based way, independent of the actual physical implementation of that file system. For example, a VFS layer may present a standards-based Unix filesystem interface to client applications, for an underlying physical filesystem that is proprietary. A network file system may include a VFS layer to allow standards-based remote clients access to a proprietary file system implementation.